home *** CD-ROM | disk | FTP | other *** search
-
-
- ┌───────┐┌───────┐┌───────┐┌───────┐
- │ ┌─────┘│ ┌───┐ ││ ┌┐ ┌┐ ││ │
- │ │ │ │ │ ││ ││ ││ ││ │ Goethestrasse 20
- │ │ │ │ │ ││ │└─┘│ ││ ┌─────┘ D-6000 Frankfurt/Main1
- │ └─────┐│ └───┘ ││ │ │ ││ │ Phone: 49-69-289403
- ├───┐┌──┤│ ││ ││ └─────┐┌──────┐ Fax : 49-69-288777
- └┐ ┌┘│ ││ ┌─────┘│ ┌───┐ ││ ┌┐ ┌┐ ││ │ Tlx : 4170614bcg d
- │ │ │ ││ │ │ │ │ ││ ││ ││ ││ │ Data : 49-69-634588 8N1
- └─┘ └──┘│ │ │ │ │ ││ │└─┘│ ││ ┌────┘
- │ └─────┐│ └───┘ ││ │ │ ││ │ Fido-Net: 2:247/14
- └───────┘└───────┘└─┘ └─┘└─┘ MagicNet: EIS
- EuroMail: 100/100:100
- COMP-TO-COMP: We get computers together!
-
- Comp-TO-Comp is a company, which is specialized in computer-communications,
- mailbox-systems and data-security. We connect computers together, offline
- and/or online. We c heck data-systems and networks for possible security-
- holes, are experienced in MS/PC-DOS, UNIX, VM, MVS and VMS. If you are
- interested in saving money and time, draw us a line. We would be very
- appreciated to send you more information about us, our work and our clients.
-
- We started the EUROMAIL (r) systems, which provide an easy to handle data-
- communication service. EUROMAIL (r) is a commercial and private offline
- network, compatible with Fido. If you want to join EURONET (r), you are
- welcome. Contact us and we will show you ways, how to have fun and make
- money with your BBS.
-
- Come on - join the team!
-
-
-
- WHAT IS CMD?
- ============
-
- CMD is a powerfull tool, which gives you the capability to open, close or
- interrupt any DesqView-task. It will also manage inter-task-communication,
- you are able to use mailboxes, connect system-keyboard to any task (even
- if its in background), suspend and release tasks or display information
- about running tasks or your available memory. Your are able to control
- DesqView from batchfiles or from remote.
-
- CMD is not for beginners. It needs a little bit of experience and I don't
- like to explain, what PIF-FILES are, or how to start a learn-script. CMD
- has o lot of possibilities. On our system, CMD is a very useful tool. Par
- example: CMD starts unpacking received mail, after polling to our fido and
- magic-net server. The bbs is fast online again and all other stuff is running
- in background. With CMD, you will be able to control your system from remote
- and to start, stop and interrupt your tasks and applications running in some
- tasks from the prompt or from batchfiles. You need a little phantasy to
- figure out, how big the new possibilities are, if you use cmd.
-
- CMD is not and never has been public-domain. It follows the shareware rules
- what means, you can copy CMD, put it in your bbs or use it for your needs,
- as long as you don't try to make money with it and all files, you`ve re-
- ceived with your cmd.zip package will remain unchanged.
-
- THIS I AN UNREGISTRED VERSION OF CMD.
-
- Of course, the registred version of CMD will not be shareware any longer.
- The registred versions will have a serial-number which will be unique.
-
-
- Please check if the following files are included in your CMD.ZIP package:
-
- register.frm.............Please use that form if you`de like to register
- cmd.doc..................This information-document
- cmd.exe..................The main-programm
- cmd.hlp..................CMD help
- wmessage.exe.............A supporting programm
- sh-pif.dvp...............Pif-file for CMD -SH
- wm-pif.dvp...............Pif-file for CMD -WWI
-
- Registered users will receive in addition:
-
- source.doc...............Some examples how to use desqview and
- CMD-funtions in self-written programms (TURBO-C,
- TURBO-BASIC, ASM)
-
-
-
- HOW TO INSTALL CMD?
- ====================
-
- CMD is easy to install. Just copy all the included files to your DesqView
- directory and append the following two lines to your autoexec.bat:
-
- set DVPATH=x:\yyyyyy Path, where you've got DesqView installed,
- set RAMDISK=z: CMD will install its system-files on this
- drive. We recommend a ramdisk, but any
- any other drive will do it (slower....).
-
-
- SOME DETAILS:
- =============
-
- If you create a new entry into your DesqView 'OPEN WINDOW' list, you have
- to specify a two-key-name (KEYS TO USE ON OPEN MENUE). This "short-name"
- is also the identifier for cmd. You can deal with any task by specifying
- it with its two-key-name.
-
- Example:
-
- CMD -O BD.........will start "Big Dos" and inlist it into tasktable
- CMD -C BD.........will close "BIG DOS" again.
- CMD -C $XXXXXXXX..will close a task by calling it with its ID.
- CMD -C $ca0f0000..will close a task with the ID CA0F0000 as shown
- in the tasktable.
-
-
- THE ONLY THINGS, YOU HAVE TO TAKE CARE OF, ARE:
- ================================================
-
- If you will open a task with DesqViews "OPEN A WINDOW", it will not be
- available for CMD (exept -shut or -f option). If you have a task in-
- listed into tasktable, do not close it with "EXIT" or DesqViews "CLOSE
- A WINDOW". Most CMD-commands will crash your system, if they try to
- acces to a closed task which is still inlisted in the tasktable. Try
- to live without using the -start option. It's for emergency only, be-
- cause it uses a predifined PIF-File which not allways fits its needs.
-
-
-
- STARTING A TASK:
- ================
-
- -o..............Open a predifined task and inlist it into tasktable
- -ob.............Open a predifined task in background and inlist it
- into tasktable
- -oo.............Open a predifined task, even if it is allready running. This
- will overtype the first task-entry in the tasktable.
- -f XX...........Force current task to be inlisted into tasktable as XX.
- -start XXX.EXE..Start any program and inlist it into tasktable with its
- first two bytes of its name.
- -obs XX.........Open the task XX in background and stop it, while it is
- in background. As soon as it is switched into foreground,
- it will continue to run. This command was specailly created
- for Earle Robinson, who gave me a lot of good ideas. Thanks.
-
- EXAMPLES:
-
- cmd -o bd.......This will open Desq-Views "Big DOS" in foreground.
- cmd -ob bd......Starts task "Big Dos" but it will run in background.
-
- Any task will only be able to be started once. If you want to start the
- same program multiple times, use
-
- cmd -oo XX......This will start a program XX, even if it is allready
- inlisted into the tasktable.
-
- If you want to start-up a task with DesqViews "Skript" function, you
- would get a problem, because this task would not be available for cmd.
- That's, where you use the -f option.
-
- Example:
-
- You want to start a DOS-partition, every time, you bring-up DesqView.
- Now, you've got two possibilities to handle that. Create a skript which
- will point to a batch-file. This batch-file should look like one of
- these:
-
- 1)
-
- @echo off
- cmd -f XX.............This will force the current window to be inlisted
- into the tasktable (change XX to the desired name)
-
- 2)
-
- @echo off
- cmd -o bd.............Open a new task BD (for BigDos)
- cmd shut..............and close this task.
-
-
- CLOSING A TASK:
- ===============
-
- -c XX...........Close a task, which is inlisted in the tasktable
- -shut...........Close current task, the tasktable will not be changed
-
- Examples:
-
- cmd -c bd.......Will close the task "BD" if its inlisted in the tasktable
- cmd -shut.......This command will "shut-down" the current task, even if
- it`s not inlisted into the tasktable. If it is inlisted,
- it will remain in the tasktable. Watch out, if you try
- to acces an closed but inlisted task, it will crash your
- system.
-
-
- INTERRUPT A TASK:
- =================
-
- -sp XX..........Suspend an inlisted task and hide its window
- -rl XX..........Release a suspended task
- -gb XX..........Put task XX into background
- -gf XX..........Put task XX into foreground
-
-
- Examples:
-
- This commands are very easy to handle. Just change XX to the desired task-
- name you`d like to interrupt. Suspending a task means, that it will remain
- in your system-memory but won't run (and so, will not use any time-slices).
-
- A SUSPENDED TASK IS NOT AVAILABLE FOR ANY OTHER CMD COMMAND. IF YOU WANT
- TO HAVE ACCES TO A SUSPENDED TASK, YOU HAVE TO RELEASE IT FIRST!
-
- INTER-TASK COMMUNICATION:
- =========================
-
- -sm XX..........Send a one line message to task XX.
- -rm XX..........Read message, if available
- -mm.............Check currents task mailbox
- -wm.............Wait for a message on current task
- -cm XX..........Check mailbox from task XX
- -kb XX..........Connect system-keyboard to task XX [NEW]
- -wkb XX YYYYY...Send a one line message to keyboard
- of task XX [NEW]
- -so XX YYYY.....Send an order to to task XX (mostly SH)
-
- Examples:
-
- cmd -sm bd Hello That command will send the message HELLO to the
- task BD. As long as BD will not check it`s mail-
- box, the message will remain there.
- cmd -rm Check currents task mailbox and display a message,
- if there is a message waiting.
- cmd -mm Display numbers of waiting messages on current task.
- cmd -wm Wait, until there will be a message to display. Be
- careful with this option. It will not return this
- task until it has received a message.
- cmd -cm XX Check XX's mailbox and display number of waiting
- messages.
- cmd -kb XX This will connect your system-keyboard to task XX. That
- means, every keystroke will be put into tasks XX keyboard
- buffer, even if task xx is in the background.
- cmd -wkb XX This is a powerful option. It will give you the capability
- to send any message direct to task XX keyboard buffer.
-
- cmd -wkb XX dir/w ^13 will put the 'dir/w' command direct into task XX
- keyboard buffer. If task XX is on the prompt, it
- will start displaying the directory - but you might
- not see it - if the task is in background. Use the
- '^' for storing an DEC ASCII into the keyboard buffer,
- ^13 means RETURN, ^27 would be ESCAPE.
-
-
- ALERTS:
- =======
-
- -wwc YYYYYYY....Open a window in foreground, display
- message YYYYYYY, wait for a few seconds
- and close it again. [NEW]
- -wwk YYYYYYY....Like the above, but the window will not
- be closed. [NEW]
- -wwi YYYYYYY....Open a window in foreground, display
- message YYYYYY, it will be closed by
- itself after 10 seconds or hitting Escape [NEW]
- -beep XXX YY....Beep on a frequency of XX Hz for yy seconds [NEW]
-
-
- Examples:
-
- cmd -wwc Hello, Iam ready This will pop-up an window in foreground,
- display "Hello, Iam ready" and will close
- after a short while. The sending task will
- wait, until the window has been closed.
-
- cmd -wwk Hello, Iam ready This will do the same like above. But the
- message window will not be closed. You are
- not able to close that window again.
-
- cmd -wwi Hello, Iam ready This will start a task, send a message to
- the new tasks mailbox and will continue its
- work. The new Task will pop-up a window in
- foreground, will read the message from its
- mailbox and display it for about 15 seconds.
- By pressing ESCAPE you are able to close
- that window immedately.
-
- cmd -beep 1000 2 Beep two seconds on a frequency of 1000 Hz
-
- INFORMATION:
- ============
-
- -t..............Show table of inlisted tasks
- -tt.............Like the above, but display additional
- information
- -m..............Show memory-map
- -?..............Show CMDs installation paths
- -who............Display name of current task
- -who XX.........Display name of task XX
- -id XX.........Display taskid of task xx
-
-
- Examples:
-
- cmd -t will display a tasktable and uses standart output (you`re able
- to redirect it into a file):
-
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- 0 M1 9.05.90 18.27 ACTIVE 0 V ?????????
- 0 M3 9.05.90 18.27 ACTIVE 0 V ?????????
- 0 PW 9.05.90 18.27 ACTIVE 0 V ?????????
- 0 CC 11.05.90 12.39 *WAIT* 0 V ?????????
- 0 M2 11.05.90 11.52 ACTIVE 0 V ?????????
-
- This "small-version" of a list tasktable order is useful, if you're not
- sure, that everything is inlisted. It will just display the contains of
- its tasktable and will not go into DesqViews environment to get more
- information about the displayed tasks.
-
- cmd -tt will display a tasktable with additional information:
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- C8EA0000 M1 9.05.90 18.27 ACTIVE 0 V 6312083 (1)
- C93C0000 M3 9.05.90 18.27 ACTIVE 0 V 6312934
- C89C0000 PW 9.05.90 18.27 ACTIVE 0 V power
- C9870000 CC 11.05.90 12.39 *WAIT* 0 V * CONSOLE
- CA1F0000 M2 11.05.90 11.52 ACTIVE 0 V 634588 (2)
-
-
- The '*' will show the task, you`re working on.
-
- cmd -m will display a map of your available memory:
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- AVAILABLE MEMORY: TOTAL AVAILABEL LARGEST
-
- Conventional Memory (KBytes): 576 149 148
- Expanded Memory (Kbytes): 3264 672 560
- Common Memory (Bytes) : 61440 52604 52506
-
- Task-ID: (4)
-
- With the other arguments, you are able to ask for names:
-
- cmd -who
-
- CMD: This is power
-
- cmd -who pw
-
- CMD: Name of task 'pw' is power
-
- cmd -id pw
-
- CMD: ID of task 'pw' is C0EA0000
-
-
- OTHERS:
- =======
-
- -ct.............Erase tasktable
- -bstp XX........Stop task, if it is in background
- -brun XX........Will enable the "running in background"
- -s ZZZ..........Sleep next ZZZ/100 seconds
- -nm XX YYYY.....Give XXs window the name YYYYYY
- -sh.............Go into shell-mode and wait for orders
- -rem XX.........Remove task-table entry XX from tasktable
-
-
- Be careful with the -ct option. It will clear youre tasktable it will make
- all tasks unavailable for CMD.
-
- A special thing we have to talk about ist the -sh option. This option puts
- CMD in shell-mode. It gives you a prompt and you will be able to work with
- it like you normally would do it. This task but will also check its mailbox
- everytime, it is waiting on a DOS-prompt. That gives you the capability to
- send mail and/or orders to that task (by using -sm and -so argument). If
- you send an order to this task (its name is SH for SHELL), it will start
- working.
-
- Example:
-
- This is your current tasktable.
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- C8EA0000 M1 9.05.90 18.27 ACTIVE 0 V 6312083 (1)
- C93C0000 M3 9.05.90 18.27 ACTIVE 0 V 6312934
- C89C0000 PW 9.05.90 18.27 *WAIT* 0 V power
- C9870000 CC 11.05.90 12.39 ACTIVE 0 V * CONSOLE
- CA1F0000 M2 11.05.90 11.52 ACTIVE 0 V 634588 (2)
- CA3C0000 SH 11.05.90 11.58 ACTIVE 0 V Shell
-
- Now you`d like to pack a file named test.doc
-
- You type into the keyboard:
-
- cmd -so sh pkzip test.doc
-
- This will send an order to shell and shell will start doing this job.
-
- To control, if shell is ready, you can do the following:
-
- cmd -so sh cmd -sm cc Iam ready
- ========== -------------------
- ! !
- ! +----------------- This is the job, you want shell
- ! do, in this case, you want shell
- ! to send a mail to cc (what is
- ! console, our current task)
- !
- +-------------------------------- This is the send order command
-
-
- By checking your mailbox (with cmd -mm) you will find out, if sh is working
- or not. Because as long as shell is doing a job, it will not be able to read
- its mailbox. But as soon as its finished, it receives your second order and
- will send this mail back to your task immediately.
-
- That means:
-
- You are able to check your mailbox (if its empty, sh is still working) or
- you can check SH's mailbox (as long as theres a message waiting, shell is
- working)
-
- SPECIALS
- ========
-
- You are able to command a task, even if it would be unavailable from CMD.
-
- Example:
-
- This is the current tasktable:
-
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- C8EA0000 M1 9.05.90 18.27 ACTIVE 0 V 6312083 (1)
- C93C0000 M3 9.05.90 18.27 ACTIVE 0 V 6312934
- C89C0000 PW 9.05.90 18.27 ACTIVE 0 V power
- C9870000 CC 11.05.90 12.39 ACTIVE 0 V * CONSOLE
- CA1F0000 M2 11.05.90 11.52 ACTIVE 0 V 634588 (2)
-
- You type:
-
- >cmd -sp m1
-
- and suspend the task m1. The Tasktable would now look like this:
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- C8EA0000 M1 9.05.90 18.27 *WAIT* 0 V 6312083 (1)
- C93C0000 M3 9.05.90 18.27 ACTIVE 0 V 6312934
- C89C0000 PW 9.05.90 18.27 ACTIVE 0 V power
- C9870000 CC 11.05.90 12.39 ACTIVE 0 V * CONSOLE
- CA1F0000 M2 11.05.90 11.52 ACTIVE 0 V 634588 (2)
-
- Now you are able to start a second task `M1',
-
- >cmd -o m1
-
- and now, the tasktable looks this way:
-
- CMD (c) 1990 Comp-2-Comp All rights reserved (SN 999 Betatest)
-
- ID KY DATE TIME STATUS V NAME
- C8EA0000 M1 9.05.90 18.27 *WAIT* 0 V 6312083 (1)
- C93C0000 M3 9.05.90 18.27 ACTIVE 0 V 6312934
- C89C0000 PW 9.05.90 18.27 ACTIVE 0 V power
- C9870000 CC 11.05.90 12.39 ACTIVE 0 V * CONSOLE
- CA1F0000 M2 11.05.90 11.52 ACTIVE 0 V 634588 (2)
- CA3C0000 M1 11.05.90 13.01 ACTIVE 0 V 6312083 (1)
-
- Now we have two tasks with the same name (M1) inlisted into the tasktable.
- If you would like to close one of the tasks, you would not be able to spe-
- cify, which of them you would like to have acces to. Now you have to name
- it direct, by using the ID of a task. Be careful with this, it will crash
- your system if you would type a wrong (unavailable) ID.
-
- >cmd -c $c8ea0000 will close the first M1-task.
-
- If you`de like to erase one of the table entrys (par example, to make that
- task unavailable for cmd), type
-
- >cmd -rem XX if you are able to name it, or:
- >cmd -rem $yyyyyyy if you want to use the tasks HEX-ID
-
-
- DESQVIEWS MENU-OPTIONS:
- =======================
-
- -dvm XX nm......... will prevent DV's main-menue to pop-up
- -dvm XX nq..........makes is unpossible to quit Desqview
- -dvm XX nc..........will prevent this task to be closed by DV's menu-options
- -dvm XX no..........makes DVs "Open-Menue" unavailable
-
- -dvm XX ok..........makes everything available
-
-
- ERORRLEVELS
- ===========
-
- For controlling CMD from batchfiles, CMD will return different errorlevels
- and you will be able to check them.
-
- The errorlevels are:
-
- 0....................everything is ok
- 1....................no need to start DV-interface
- 2....................DV not active
- 3....................not able to start the desired task
- 4....................not able to close the desired task
- 5....................tasktable not found
- 6....................task is allready suspended
- 7....................task is not suspended
- 8....................dropped from cmd-shell
- 9....................missing name of task to be started
- 10...................task is allready running
- 11...................couldn't start task
- 12...................couldn't find task
-
- In difference, CMD will return the number of waiting messages as an error-
- level. That means, that if you check the currents task mailbox (with -mm)
- or the mailboxes from different tasks (with -cm XX), CMD will return
- the numbers of waiting messages to the errorlevel.
-
-
- SOME WORKING EXAMPLES:
- ======================
-
- Start-up your system automaticly:
-
- Create a DesqViews learn script and let it start a batch file, we will call
- it now sbatch.bat.
-
- sbatch.bat could look like that:
-
- @echo off
- rem Start-Up batch-file for DesqView and my applications
- cmd -ob prog1 (your first programm)
- cmd -s 500 (give Desqview a little time to open up the first task)
- cmd -ob prog2 (your second programm)
- cmd -s 500
- cmd -ob prog3
- cmd -s 500
- cmd -wwc All tasks are up and running
- cmd -shut
-
- Now, you got all your running tasks inlisted into the tasktable and
- available for cmd.
-
-
- WHERE`s THE DIFFERENCE BETWEEN THE REGISTRED AND UNREGISTRED VERSION?
- =============================================================================
-
- The unregistred version will pop-up a window in the right upper edge everytime
- you`re starting cmd. You are not able to close that window, because it is not
- a task, it is just a window with nothing belonging to it. DesqView don't like
- that and will crash after a cupple of cmd-calls. You are not able to work re-
- liable with cmd as long as it is not registred. I am sorry to do it that way,
- but I have had no response from the first release of CMD.
-
- If you'd like to register CMD, please use "register.frm" and send it back to
- me. I will return a disk with the registered version of cmd. The registred
- Version will be without that window.
-
- I would like to thank the following people:
-
- Ralf Brown.....................who wrote the fantastic DV GLUE which is an
- important part of CMD,
- Juergen Schneider..............for giving me a lot of time and support,
- Earle Robinson.................for spending a hell of money to call me long
- distance and helping me by debugging and up-
- dating.
-
- And I would like to thank GOD, who made me able to programm this!